ESPRESSO
Section: User Commands (1)
Updated: 12/28/84
Index
Return to Main Contents
NAME
espresso - Boolean Minimization
SYNOPSIS
espresso
[type] [file] [options]
DESCRIPTION
Espresso takes as input a two-level representation of a
two-valued (or a multiple-valued) Boolean function, and produces a
minimal equivalent representation. The algorithms used are new and
represent an advance in both speed and optimality of solution in
heuristic Boolean minimization.
Espresso reads the file
provided (or standard input if no files are specified),
performs the minimization, and writes the minimized result to
standard output.
Espresso
automatically verifies that the minimized function
is equivalent to the original function.
The default input and output file formats are compatible with the
Berkeley standard format for the physical description of a PLA. The
input format is described in detail in espresso(5). Note that the
input file is a logical representation of
a set of Boolean equations, and hence the input format differs
slightly from that described in pla(5) (which provides for the
physical representation of a PLA).
The input and output formats
have been expanded to allow for multiple-valued logic
functions, and to allow for the specification of the
don't care set which will be used in the minimization.
Type specifies the logical format for the function.
The allowed types are -f, -r, -fr, -fd, -dr, and
-fdr which have the same meanings assigned in espresso(5).
The command line options described below can be specified anywhere
on the command line and must be separated by spaces:
- -d
-
Verbose detail describing the
progress of the minimization is written to standard output.
Useful only for those familiar with the algorithms used.
- -do [s]
-
This option executes subprogram [s]. Some of the
more useful ones are:
check - checks that the function is a partition of the
entire space (i.e., that the ON-set, OFF-set and DC-set are
pairwise disjoint, and that their union is the Universe)
echo - implies "-out fdr" and echoes
the function to standard output.
This can be used to compute the complement of a function.
opo - choose a good assignment of output function phases, and
minimize the function
qm - generate all prime implicants of a function, compute
the "reduced prime implicant table" and perform a simple
greedy covering of this table. Will also provide a bound on the
size of the minimum solution if option -d is used.
stats - provide simple statistics on the size of the function
The remaining subprograms
(contain, compact, essen, expand, intersect, irred, lexsort, mincov,
miniexpord, miniredord, pop, primes, reduce,
sharp, taut, union, unravel, verify + surely others by now)
are intended for those heavily into manipulating Boolean functions.
- -fast
-
Stop after the first EXPAND and IRREDUNDANT operations (i.e., do not
iterate over the solution).
- -kiss
-
Sets up a kiss-style minimization problem.
- -ness
-
Essential primes will not be detected and removed from the minimization.
- -nirr
-
The final result will not necessarily be forced irredundant.
- -help
-
Provides a quick summary of the available command line options.
- -out [s]
-
Selects the output format. By default, only the ON-set (i.e., type f)
is output after the minimization. [s] can be one of
f, d, r, fd, dr, fr, or fdr to select any combination of the
ON-set (f), the OFF-set (r) or the DC-set (d).
- -pos
-
Swaps the ON-set and OFF-set of the function after reading the function.
(This can be used to minimize the OFF-set of a function.)
- -s
-
Will provide a short summary of the execution of the program including the
initial cost of the function, the final cost, and the computer resources
used.
- -t
-
Will produce a trace showing the execution of the program.
After each main step of the algorithm, a single line is
printed which reports the processor time used, and the current cost of
the function.
- -x
-
Suppress printing of the solution.
DIAGNOSTICS
espresso will issue a warning message
if a product term spans more than one line. Usually this is an
indication that the number of inputs or outputs of the function
is specified incorrectly.
SEE ALSO
pla(5), espresso(5)
Logic Minimization Algorithms for VLSI Synthesis,
R. Brayton, G. Hachtel, C. McMullen, and A. Sangiovanni-Vincentelli,
Kluwer Academic Publishers, 1984.
AUTHOR
Richard Rudell
BUGS
Always passes comments from the input file, and passes
unrecognized options straight from the input file
to standard output (sometimes this isn't what you want).
There are a lot of options, but the most typical use is the following:
eqntott -r file.eqn | espresso >file.pla
The -R option of eqntott should not be used (it is much too expensive).
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- DIAGNOSTICS
-
- SEE ALSO
-
- AUTHOR
-
- BUGS
-
This document was created by
man2html,
using the manual pages.
Time: 20:29:33 GMT, November 23, 2024